Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

2024-AIII-[NPN]Adaptive Integration of Partial Label Learning and Negative Learning for Enhanced Noisy Label Learning

https://arxiv.org/abs/2312.09505

Introduction

以下のようなものを提案した。

Image in a image block

データに対して、Noisy Labelが与えられたとする。

それをCandidate LabelやComplementary Labelにうまく変換させる。

Related Works

  • Noisy Labelについては省略。
  • Partial Label Learningでは、「平均ベースの統計的知識を使う」、「明らかにわかるようなサンプルのラベルを明確にする」の2つである。
    • 前者は学習の中で、すべてのラベル候補を同じ重みとして扱う。
    • 後者は真のラベルという潜在変数を考え、各サンプルごとにあるConfidence Scoreというのを推定する。
  • Negative Learning 補ラベルを用いた学習といえる。

Method

問題設定

  • データはxnRdx_n \in \mathbb{R}^d
  • 与えられるPartial Labelはyi[0,1]Cy_i \in [0, 1]^Cである。
  • 真のラベルはyiy_i^*である。
  • 目標は以下のようにsoftmax関数pcp^cで訓練させた損失の最小化。
Image in a image block
  • 実装の際、one hotベクトルの要領で、Partial Label LearningとComplementary Label Learningはmulti-hotベクトルとして実装される。

確かに先行研究 📄Arrow icon of a page link2018-NIPS-[GCE]Generalized Cross Entropy Loss for Training Deep Neural Networks with Noisy Labels などでは生のCross Entropyを使うと、Noisyなデータに弱いという事実があった。

この研究では、Cross Entropy Lossを使ったとしても、Partial Label LearningとNegative Learningを組み合わせることで、Cross Entropyでもいい性能が出るようにしたい。

ラベル空間の分解

Self-supervised Learningは誤ったPseudo Labelの付与による悪影響は避けられない。

なので、NoisyなラベルをうまくPartial LabelとComplementary Labelに分解したい。

与えられているNoisyなラベルyny_nについて、サンプルに対して最も正しそうな予測複数個y^n\hat{y}_nを選び、これらはそれぞれone-hotラベルなので、以下のようにtwo-hotラベルになる。これをPartial Labelとして扱う。

Yn=yn+y^nY_n = y_n + \hat{y}_n

そして、Complemental Labelを以下のように生成する。つまり、YnY_nのbit反転。

Y~n=1Yn\tilde{Y}_n = \mathbf{1} - Y_n

このとき、Partial Labelには絶対に正しいのを含みたいが、Complementary Labelには正しいのを含ませたくない。この時、逆にPartial Labelは厳しく選びComplementary Labelは雑に選ぶという倒錯が起きる。

この手法の理論的な裏付けとして、Noisy Labelの予測のtop-kに正解が入っているかを見てみると結構入っている(top 2だけでも全然違う)

Image in a image block

Partial Label Learningにおける曖昧性の解消

Partial Label Learningの手法として、ラベルの曖昧さを解消するというものがある。これを受けてこの論文では、hard曖昧性解消とsoft曖昧性解消の手法を考える。

SntS_n^tnn番目のデータについての、tt回目の学習時のラベル分布だとする。初期分布は与えられたNoisyかもしれないyny_nを使い、更新は今時点でのPartial Label(識別器の出力したラベル候補のtop-k)のYntY_n^tを用いて更新する。

SntS_n^tの中で最も大きい成分を持つものが最終的な識別器の予測結果になる。

Image in a image block

y~n\tilde{y}_nSntS_n^tから考えられる正解ラベルであり、hard, softは以下のように定義される。

Image in a image block
Image in a image block

これに従い、Hard LabelとSoft Labelの損失も以下のように定義する。基本的にSntS_n^tをreweightingしながらのクロスエントロピー損失である。

Image in a image block
Image in a image block
Partial Labelは多ければよいわけではない

候補が多いほど、当然disambiguationの精度が下がってしまう。

Image in a image block

Negative Learningの導入

さきほどの1Ynt\mathbf{1} - Y_n^tのように計算されるのがComplementary Label。これについて、以下のような式でComplementary Labelに入っているものの確率を下げる。

Image in a image block

全体の枠組み

全体としては以下のObjectiveで訓練する。

Image in a image block

正則化項は予測の一貫性を持たせるもので、弱いデータ拡張と強いデータ拡張をしたものの予測によるCross Entropy損失低い=違うデータ拡張しても同じように予測されることが望ましい。

Image in a image block

全体のアルゴリズム

  1. ウォームアップしている。
    1. Noisy Labelのまま学習する。
  2. ウォームアップが終わったら。
    1. 識別器の予測top-kのもので、Partial Labelを生成。
    2. そのPartial Labelに基づくComplementary Labelを生成。
    3. 今のエポックのラベル分布SntS_n^tを更新。
    4. 損失を計算する。

考察

Complemental LabelはNegative Loss。📄Arrow icon of a page link2023-NIPS-Active Negative Loss Functions for Learning with Noisy Labels 。この論文と似ていて面白い。

どちらもActive LossとNegative Lossを同時に利用していることでノイズに強いことを実現。

実験

  • CIFAR100Nを使用。ノイズは対称ノイズ、非対称ノイズを使う。
  • Real Noisy Dataとして、Web-Aircraft, Web-Car, WebBirdを使用。

NPN-hardのほうが大体よかった。

Image in a image block

あとAblation Studyでは、Negative Label Learningは強力だった。